package com.cwb.study.springbootstudy.service.impl;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.cwb.study.springbootstudy.pojo.User;
import com.cwb.study.springbootstudy.service.TokenService;
import org.springframework.stereotype.Service;

/**
 * @author ：chenwenbin
 * @date ：Created in 2019/08/12 09:12
 * @description：TokenService的实现类
 */
@Service
public class TokenServiceImpl implements TokenService {
    /**
     * token的生成方法
     *
     * @param user 用户类
     * @return
     */
    @Override
    public String getToken(User user) {
        String token = "";
        //Algorithm.HMAC256():使用HS256生成token,密钥则是用户的密码，唯一密钥的话可以保存在服务端。
        token = JWT.create().withAudience(user.getId().toString())
                .sign(Algorithm.HMAC256(user.getPassword()));
        return token;
    }
}
